Passed
Push — master ( f602d8...7b3414 )
by Huu-Phat
02:55 queued 11s
created

MyApp   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
eloc 24
dl 0
loc 26
c 0
b 0
f 0
rs 10

2 Functions

Rating   Name   Duplication   Size   Complexity  
A componentDidMount 0 3 1
A render 0 17 2
1
import App from 'next/app'
2
import React from 'react'
3
import { LocalizeProvider } from 'react-localize-redux'
4
import { IconContext } from 'react-icons/lib/'
5
import LocalizedComponent from '~/modules/core/localize/LocalizedComponent'
6
import Loading from '~/modules/core/components/Loading'
7
import ErrorBoundary from '~/modules/core/components/ErrorBoundary'
8
import ThemeProviderSelector from '~/modules/core/theme/ThemeProviderSelector'
9
10
import 'bootstrap/dist/css/bootstrap.min.css'
11
12
export default class MyApp extends App {
13
  state = {
14
    loading: true
15
  }
16
17
  componentDidMount() {
18
    this.setState({ loading: false })
19
  }
20
21
  render() {
22
    const { Component, pageProps } = this.props
23
    return this.state.loading ? (
24
      <Loading />
25
    ) : (
26
      <IconContext.Provider value={{ style: { verticalAlign: 'middle' } }}>
27
        <ThemeProviderSelector>
28
          <LocalizeProvider>
29
            <LocalizedComponent>
30
              <ErrorBoundary>
31
                <Component {...pageProps} />
32
              </ErrorBoundary>
33
            </LocalizedComponent>
34
          </LocalizeProvider>
35
        </ThemeProviderSelector>
36
      </IconContext.Provider>
37
    )
38
  }
39
}
40